Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Print PDF

Îåêßíçóå áðü ôï ìÝëïò dimos.homatas. Τελευταία δημοσίευση από το μέλος dimos.homatas στις 31-03-2011, 16:14. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  31-03-2011, 09:50 64797

    Print PDF

    Καλημέρα σας,

    θέλω να τυπώσω PDF από Winforms. Βρήκα τον απλούστερο και πιο γρήγορο τρόπο: command line χρησιμοποιώντας το εκτελέσιμου του Acrobat reader. Έχει ένα θεματάκι (αφήνει ένα process ανοιχτό), αλλά το χειρίζομαι.

    Ποιο είναι το πρόβλημα...

    Δεν κάνει scale το PDF στο εκάστοτε μέγεθος χαρτιού! Το γέλιο της υπόθεσης είναι ότι αν του πω να εμφανιστεί με το print dialog box να φαίνεται, έχει προεπιλογή αυτό που θέλω. Αν του πω όμως silent, τότε έχει επιλεγμένο το κανονικό μέγεθος... 

    Αυτό έχει σαν αποτέλεσμα να μην μπορώ να το χρησιμοποιήσω κατ'αυτόν τον τρόπο. Έψαξα με διάφορους τρόπους να πειράξω τις ρυθμίσεις του Reader, αλλά απλά δεν υπάρχει τέτοια ρύθμιση. Έφτασα στο σημείο να χρησιμοποιήσω και το AIM (εργαλείο που εμπεριέχει όλες τις ρυθμίσεις στο registry για τα προϊόντα της Adobe). Nada.

    Οπότε, ξεκίνησα να κοιτάω διάφορες άλλες εναλλακτικές. Πρώτη πρώτη εμφανίζεται η λύση του PDFSharp. 

    Τι να πω... δεν κάνει την δουλειά. Εάν εξαιρέσουμε το γεγονός ότι ο κώδικας περιέχει function που λέγεται DoSomeVeryDirtyHacksToMakeItWork();, ψάχνοντάς το είδα ότι είναι απλά ένας wrapper που κάνει ακριβώς την ίδια δουλειά που έκανα και εγώ με το command line (Process)! Οπότε, μάταια...

    Είδα διάφορες άλλες βιβλιοθήκες, αλλά έχουν κάτι εξωφρενικές τιμές...

    Έχετε κάτι υπ'όψιν που να κάνει αυτήν την δουλίτσα;

    Από την άλλη σκέφτομαι να πω και στην διοίκηση να πατάνε οκ στα print dialogs...

    "When the darkness rises up from inside - that is normal.
    It's when you reach down to pull it up - that the noxious warnings sound."
    Tuzak, Farscape
  •  31-03-2011, 12:06 64802 σε απάντηση της 64797

    Απ: Print PDF

    Το PdfSharp φτιάχνει,  ΔΕΝ κάνει render τα pdf αρχεία, συνεπώς και δεν τα τυπώνει. Το λέει μάλιστα και στο FAQ αλλά και στο Sample για την εκτύπωση: PDFsharp cannot print PDF files, but you can use Adobe Reader with a command line switch to do the job. Δεν αρκεί να πιάνεις το πρώτο αποτέλεσμα που βρίσκεις στο Google, πρέπει να καταλαβαίνεις και τί κάνει.

    Υπάρχει άλλο ένα γνωστό plugin, το iText το οποίο όμως επίσης είναι για να φτιάχνει, όχι να εμφανίζει ή τυπώνει PDF.

    Αυτό που πρέπει να κοιτάξεις είναι καταρχήν το ίδιο το Acrobat και συγκεκριμένα το SDK του. Το Acrobat υποστηρίζει COM και μπορείς να το ανοίξεις και να τυπώσεις μέσω της AVDoc.PrintPagesEx . Το SDK περιλαμβάνει και sample σε VB6 για το πως εκτυπώνεις. Για να το χρησιμοποιήσεις σε .NET θα πρέπει να προσθέσεις στο project σου references στα κατάλληλα COM αντικείμενα.

     

     


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  31-03-2011, 15:15 64810 σε απάντηση της 64802

    Απ: Print PDF

    Είναι μεγάλος μπελάς το SDK, δεν αξίζει.

    Για την ώρα user interaction λοιπόν...

    "When the darkness rises up from inside - that is normal.
    It's when you reach down to pull it up - that the noxious warnings sound."
    Tuzak, Farscape
  •  31-03-2011, 15:32 64811 σε απάντηση της 64810

    Απ: Print PDF

    Κοίτα, αν θες κάτι να σου λύσει το πρόβλημα σε 5 λεπτά, το πληρώνεις. Αν θέλεις να κάνεις εσύ τη δουλειά, θα σου πάρει κάποιο χρόνο για διάβασμα. Ούτε το PdfSharp είναι τόσο εύκολο όσο νομίζεις (άσε που το λένε και το φωνάζουν ότι ΔΕΝ τυπώνει). Κάποια στιγμή θα πρέπει να κοιτάξεις το SDK (και το έτοιμο sample) γιατί μπορεί ο επόμενος πελάτης να μην δέχεται να κάνει αυτά που περιμένει να γίνουν αυτόματα από την εφαρμογή.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  31-03-2011, 16:14 64813 σε απάντηση της 64811

    Απ: Print PDF

    Παναγιώτης Καναβός:

    γιατί μπορεί ο επόμενος πελάτης να μην δέχεται να κάνει αυτά που περιμένει να γίνουν αυτόματα από την εφαρμογή.


    Δεκτόν, και έτσι λειτουργώ, εξ'ού και το αποτέλεσμα, και ο νοών νοείτω Big Smile

    "When the darkness rises up from inside - that is normal.
    It's when you reach down to pull it up - that the noxious warnings sound."
    Tuzak, Farscape
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems